<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>[Generic Component Framework v3] GCF::ObjectTreeNode Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<!--link href="tabs.css" rel="stylesheet" type="text/css"-->
</head><body>
 <div id="wrapper">
    <div id="logo_box">
        <a class="img_link" href="https://github.com/pnudupa/gcf" target="_blank" ><img style="float:left;margin-left:10px;margin-top:5px;margin-bottom:5px;"src="header_gcf_logo.jpg" alt="GCF LOGO"/></a>
        <a class="img_link" href="https://www.vcreatelogic.com/" target="_blank" ><img style="float:right;margin-right:10px; margin-top: 30px;" src="header_vcl_logo.jpg" alt="VCL LOGO"/></a>
        <div style="clear:both"></div>
    </div>
    <div class="nav">
        <ul>
            <li class="selectedpage">
                <a class="a-home" href="index.html" >
                    <span>Home</span>
                </a>
            </li>
            <li>
                <a class="a-classes " href="classes.html">
                    <span>All Classes</span>
                </a>
            </li>
            <li>
                <a class="a-home " href="gcf_modules.html">
                    <span>Modules</span>
                </a>
            </li>
            <li>
                <a class="a-home " href="gcf_guides_and_videos.html">
                    <span>Guides & Videos</span>
                </a>
            </li>
            <li>
                <a class="a-home " href="gcf_tools_and_inbuilt_components.html">
                    <span>Tools & Components</span>
                </a>
            </li>
        </ul>
    </div>
    <div id="main-content">
        <div class="inside">
        <div>
<!-- Generated by Doxygen 1.8.16 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>GCF</b></li><li class="navelem"><a class="el" href="class_g_c_f_1_1_object_tree_node.html">ObjectTreeNode</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_g_c_f_1_1_object_tree_node-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">GCF::ObjectTreeNode Class Reference<div class="ingroups"><a class="el" href="group__gcf__core.html">GCF Core Module</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Represents a node in <a class="el" href="class_g_c_f_1_1_object_tree.html">GCF::ObjectTree</a>.  
 <a href="class_g_c_f_1_1_object_tree_node.html#details">More...</a></p>

<p><code>#include &lt;GCF3/ObjectTree&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afc0b3110352a15caba37a69d0a63cdae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#afc0b3110352a15caba37a69d0a63cdae">ObjectTreeNode</a> (<a class="el" href="class_g_c_f_1_1_object_tree_node.html">ObjectTreeNode</a> *<a class="el" href="class_g_c_f_1_1_object_tree_node.html#a4893373d3c2435810387569804e9020e">parent</a>, const QString &amp;<a class="el" href="class_g_c_f_1_1_object_tree_node.html#a6648eea1209b367a59775bd30990718d">name</a>, QObject *<a class="el" href="class_g_c_f_1_1_object_tree_node.html#a293b2658f9a94d7fa45412e724e6c4d5">object</a>, const QVariantMap &amp;<a class="el" href="class_g_c_f_1_1_object_tree_node.html#a169c0f869b4948beed7550b969aaaf94">info</a>=QVariantMap())</td></tr>
<tr class="separator:afc0b3110352a15caba37a69d0a63cdae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b920e4c8a657527b84da7b61aec7e7d"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#a6b920e4c8a657527b84da7b61aec7e7d">~ObjectTreeNode</a> ()</td></tr>
<tr class="separator:a6b920e4c8a657527b84da7b61aec7e7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6648eea1209b367a59775bd30990718d"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#a6648eea1209b367a59775bd30990718d">name</a> () const</td></tr>
<tr class="separator:a6648eea1209b367a59775bd30990718d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a293b2658f9a94d7fa45412e724e6c4d5"><td class="memItemLeft" align="right" valign="top">QObject *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#a293b2658f9a94d7fa45412e724e6c4d5">object</a> () const</td></tr>
<tr class="separator:a293b2658f9a94d7fa45412e724e6c4d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a169c0f869b4948beed7550b969aaaf94"><td class="memItemLeft" align="right" valign="top">const QVariantMap &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#a169c0f869b4948beed7550b969aaaf94">info</a> () const</td></tr>
<tr class="separator:a169c0f869b4948beed7550b969aaaf94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc02d2bee38a471d8f639f2fa9da47ed"><td class="memItemLeft" align="right" valign="top">QVariantMap &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#adc02d2bee38a471d8f639f2fa9da47ed">writableInfo</a> ()</td></tr>
<tr class="separator:adc02d2bee38a471d8f639f2fa9da47ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4893373d3c2435810387569804e9020e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_g_c_f_1_1_object_tree_node.html">ObjectTreeNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#a4893373d3c2435810387569804e9020e">parent</a> () const</td></tr>
<tr class="separator:a4893373d3c2435810387569804e9020e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa638050000a5acf9fe934ad18479e9c0"><td class="memItemLeft" align="right" valign="top">QList&lt; <a class="el" href="class_g_c_f_1_1_object_tree_node.html">ObjectTreeNode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#aa638050000a5acf9fe934ad18479e9c0">children</a> () const</td></tr>
<tr class="separator:aa638050000a5acf9fe934ad18479e9c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a12e3b99b0aa93dae2981a531df7e8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_g_c_f_1_1_object_tree.html">ObjectTree</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#a8a12e3b99b0aa93dae2981a531df7e8d">owningTree</a> () const</td></tr>
<tr class="separator:a8a12e3b99b0aa93dae2981a531df7e8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadf843c6b4cbccc2d56e259881600dd8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_g_c_f_1_1_object_tree_node.html">ObjectTreeNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#aadf843c6b4cbccc2d56e259881600dd8">node</a> (const QString &amp;<a class="el" href="class_g_c_f_1_1_object_tree_node.html#aa8b131c97543dd61ab3b9f5c5ddcd601">path</a>) const</td></tr>
<tr class="separator:aadf843c6b4cbccc2d56e259881600dd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ecdd1f64b3f4a3628e50d7da65ac091"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_g_c_f_1_1_object_tree_node.html">ObjectTreeNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#a3ecdd1f64b3f4a3628e50d7da65ac091">node</a> (QObject *<a class="el" href="class_g_c_f_1_1_object_tree_node.html#a293b2658f9a94d7fa45412e724e6c4d5">object</a>) const</td></tr>
<tr class="separator:a3ecdd1f64b3f4a3628e50d7da65ac091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04e51b6d1e9a34d2705836b1a30d7581"><td class="memItemLeft" align="right" valign="top">QObject *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#a04e51b6d1e9a34d2705836b1a30d7581">object</a> (const QString &amp;<a class="el" href="class_g_c_f_1_1_object_tree_node.html#aa8b131c97543dd61ab3b9f5c5ddcd601">path</a>) const</td></tr>
<tr class="separator:a04e51b6d1e9a34d2705836b1a30d7581"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8b131c97543dd61ab3b9f5c5ddcd601"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_object_tree_node.html#aa8b131c97543dd61ab3b9f5c5ddcd601">path</a> () const</td></tr>
<tr class="separator:aa8b131c97543dd61ab3b9f5c5ddcd601"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class represents a single node in <a class="el" href="class_g_c_f_1_1_object_tree.html">GCF::ObjectTree</a>.</p>
<p>A node is characterized by the following fields </p><ul>
<li><code>name</code> - name of the node. [No two nodes can have the same name within the same hierarchy, although this rule is not enforced] </li>
<li><code>path</code> - a dot (.) separated list of names that uniquely identiies a node in the tree </li>
<li><code>object</code> - pointer to a <code>QObject</code> that the node is managing. The pointer will be NULL if the object got deleted after the node was constructed, or if no object was specified during the construction of the node. [No two nodes in the entire tree must point to the same object, although this rule is not enforced.] </li>
<li><code>info</code> - a <code>QVariantMap</code> of key=value pairs.</li>
</ul>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="class_g_c_f_1_1_object_tree.html">GCF::ObjectTree</a> </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="afc0b3110352a15caba37a69d0a63cdae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc0b3110352a15caba37a69d0a63cdae">&#9670;&nbsp;</a></span>ObjectTreeNode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GCF::ObjectTreeNode::ObjectTreeNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_g_c_f_1_1_object_tree_node.html">GCF::ObjectTreeNode</a> *&#160;</td>
          <td class="paramname"><em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">QObject *&#160;</td>
          <td class="paramname"><em>object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const QVariantMap &amp;&#160;</td>
          <td class="paramname"><em>info</em> = <code>QVariantMap()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constructor </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">parent</td><td>pointer to the parent node underwhich this new node should be created. </td></tr>
    <tr><td class="paramname">name</td><td>name of the node [the name must be unique within a parent] </td></tr>
    <tr><td class="paramname">object</td><td>pointer to a <code>QObject</code> that this node references [a valid pointer must always be specified] </td></tr>
    <tr><td class="paramname">info</td><td>a <code>QVariantMap</code> of key=value pairs </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a6b920e4c8a657527b84da7b61aec7e7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b920e4c8a657527b84da7b61aec7e7d">&#9670;&nbsp;</a></span>~ObjectTreeNode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">GCF::ObjectTreeNode::~ObjectTreeNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Destructor deletes all children nodes under this node. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a6648eea1209b367a59775bd30990718d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6648eea1209b367a59775bd30990718d">&#9670;&nbsp;</a></span>name()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString GCF::ObjectTreeNode::name </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>name of this node </dd></dl>

</div>
</div>
<a id="a293b2658f9a94d7fa45412e724e6c4d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a293b2658f9a94d7fa45412e724e6c4d5">&#9670;&nbsp;</a></span>object() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QObject * GCF::ObjectTreeNode::object </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>pointer to the <code>QObject</code> referenced by this node </dd></dl>

</div>
</div>
<a id="a169c0f869b4948beed7550b969aaaf94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a169c0f869b4948beed7550b969aaaf94">&#9670;&nbsp;</a></span>info()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const QVariantMap &amp; GCF::ObjectTreeNode::info </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>const reference to the <code>QVariantMap</code> information table associated with this node </dd></dl>

</div>
</div>
<a id="adc02d2bee38a471d8f639f2fa9da47ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc02d2bee38a471d8f639f2fa9da47ed">&#9670;&nbsp;</a></span>writableInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVariantMap &amp; GCF::ObjectTreeNode::writableInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>reference to the <code>QVariantMap</code> information table associated with this node </dd></dl>

</div>
</div>
<a id="a4893373d3c2435810387569804e9020e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4893373d3c2435810387569804e9020e">&#9670;&nbsp;</a></span>parent()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_g_c_f_1_1_object_tree_node.html">GCF::ObjectTreeNode</a> * GCF::ObjectTreeNode::parent </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>pointer to the parent of this node </dd></dl>

</div>
</div>
<a id="aa638050000a5acf9fe934ad18479e9c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa638050000a5acf9fe934ad18479e9c0">&#9670;&nbsp;</a></span>children()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QList&lt; <a class="el" href="class_g_c_f_1_1_object_tree_node.html">GCF::ObjectTreeNode</a> * &gt; GCF::ObjectTreeNode::children </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>list of children nodes </dd></dl>

</div>
</div>
<a id="a8a12e3b99b0aa93dae2981a531df7e8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a12e3b99b0aa93dae2981a531df7e8d">&#9670;&nbsp;</a></span>owningTree()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_g_c_f_1_1_object_tree.html">GCF::ObjectTree</a> * GCF::ObjectTreeNode::owningTree </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>pointer to the object tree that owns this node </dd></dl>

</div>
</div>
<a id="aadf843c6b4cbccc2d56e259881600dd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadf843c6b4cbccc2d56e259881600dd8">&#9670;&nbsp;</a></span>node() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_g_c_f_1_1_object_tree_node.html">GCF::ObjectTreeNode</a> * GCF::ObjectTreeNode::node </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>path of the node that is being searched </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a pointer to the node at <code>path</code> OR null if no such node exists</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function is similar to GCF::ObjectTree::node(QString), but it only searches the sub-tree under this node. </dd></dl>

</div>
</div>
<a id="a3ecdd1f64b3f4a3628e50d7da65ac091"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ecdd1f64b3f4a3628e50d7da65ac091">&#9670;&nbsp;</a></span>node() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_g_c_f_1_1_object_tree_node.html">GCF::ObjectTreeNode</a> * GCF::ObjectTreeNode::node </td>
          <td>(</td>
          <td class="paramtype">QObject *&#160;</td>
          <td class="paramname"><em>object</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">object</td><td>pointer to an object that is referenced by any of the nodes in this tree </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a pointer to the node at that references object OR null if no such node exists</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function is similar to GCF::ObjectTree::node(QObject*), but it only searches the sub-tree under this node. </dd></dl>

</div>
</div>
<a id="a04e51b6d1e9a34d2705836b1a30d7581"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04e51b6d1e9a34d2705836b1a30d7581">&#9670;&nbsp;</a></span>object() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QObject * GCF::ObjectTreeNode::object </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>path of the node that is being searched </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to the <code>QObject</code> referenced by the node that was searched OR null if no such node exists.</dd></dl>
<p>Same as <code>node(path)-&gt;<a class="el" href="class_g_c_f_1_1_object_tree_node.html#a293b2658f9a94d7fa45412e724e6c4d5">object()</a></code> </p>

</div>
</div>
<a id="aa8b131c97543dd61ab3b9f5c5ddcd601"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8b131c97543dd61ab3b9f5c5ddcd601">&#9670;&nbsp;</a></span>path()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString GCF::ObjectTreeNode::path </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>path of this node </dd></dl>

</div>
</div>
</div><!-- contents -->
</div>
</div>
</div>
<div class="footer_content">
<table width="100%" class="footer">
<tr>
<td align="left" width="50%">Copyright &copy; 2013-2019,
 <a class="el" href="http://www.vcreatelogic.com" target="_black">VCreate Logic Private Limited</a></td>
<td align="right" width="50%"><a class="el" href="http://www.vcreatelogic.com/products/gcf" target="_black">GCF - Generic Component Framework</a></td>
</tr>
</table>
</div>
</div>
</body>
</html>
